package com.campsys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.campsys.entity.Course;
import com.campsys.entity.RollCall;
import com.campsys.entity.User;
import com.campsys.service.dto.CourseDTO;
import com.campsys.service.dto.CourseQueryDTO;
import com.campsys.service.dto.RollCallDTO;

public interface CourseService {
    
    IPage<Course> getCourseList(Page<Course> page, CourseQueryDTO queryDTO, Long teacherId);
    
    void addCourse(CourseDTO courseDTO, Long teacherId);
    
    void updateCourse(CourseDTO courseDTO, Long teacherId);
    
    void deleteCourse(Long id, Long teacherId);
    
    void updateStatus(Long id, Integer status, Long teacherId);
    
    IPage<User> getCourseStudents(Page<User> page, Long courseId, Long teacherId);
    
    void createRollCall(RollCallDTO rollCallDTO, Long teacherId);
    
    IPage<RollCall> getRollCallList(Page<RollCall> page, Long courseId, Long teacherId);
} 